package com.order.domain.pojo;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 订单评论明细表 针对订单中的课程
 * </p>
 *
 * @author 小杰大人
 * @since 2025-10-09
 */
@Getter
@Setter
@ToString
@TableName("order_review_detail")
@ApiModel(value = "OrderReviewDetail对象", description = "订单评论明细表 针对订单中的课程")
public class OrderReviewDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 明细ID
     */
    @ApiModelProperty("明细ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 关联主评论ID
     */
    @TableField("review_id")
    @ApiModelProperty("关联主评论ID")
    private Long reviewId;

    /**
     * 订单ID
     */
    @TableField("order_id")
    @ApiModelProperty("订单ID")
    private Long orderId;

    /**
     * 订单编号
     */
    @TableField("order_no")
    @ApiModelProperty("订单编号")
    private String orderNo;

    /**
     * 课程ID
     */
    @TableField("course_id")
    @ApiModelProperty("课程ID")
    private Long courseId;

    /**
     * 课程评分(1-5星)
     */
    @TableField("rating")
    @ApiModelProperty("课程评分(1-5星) 保留一位小数")
    private BigDecimal rating;

    /**
     * 课程特定评价内容
     */
    @TableField("content")
    @ApiModelProperty("课程特定评价内容")
    private String content;

    /**
     * 评价标签(逗号分隔)
     */
    @TableField("tags")
    @ApiModelProperty("评价标签(逗号分隔)")
    private String tags;

    /**
     * 是否推荐 0:不推荐 1:推荐
     */
    @TableField("is_recommend")
    @ApiModelProperty("是否推荐 0:不推荐 1:推荐")
    private Byte isRecommend;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(value = "create_time" , fill = FieldFill.INSERT)
    private LocalDateTime createTime;
}
